/**
 * 用户单选seluserOption.js
 * 版本号： v1.0.0
 */
$(function(){
    //给body赋予可是窗口宽高
    var clientWidth = document.documentElement.clientWidth;
    var clientHeight = document.documentElement.clientHeight;
    $('#bodyClass').css({"min-width":clientWidth,"height":clientHeight,"overflow":"hidden"});
    //添加加载提示
    loading();
    //初始化角色
    var roIds = $('#roIds').val();
    var stepType = $('#stepType').val();
    $.ajax({
        url: CONTEXT_PATH + "/role/getRolesByRoleId.do",
        data: {
            roIds: roIds,
            stepType: stepType
        },
        type: "get",
        success: function (data) {
            //移除所有li
            $(".rolesUl").children("li").remove();
            //动态添加li
            if(data && "[]" != data){
                var roleJson = JSON.parse(data);
                //第一个roId
                var firstRoId = roleJson[0]["roId"];
                for(var i = 0; i < roleJson.length; i++){
                    var newTr = "";
                    if(i == 0){
                        newTr = '<li id="'+roleJson[i]["roId"]+'" onclick="selectRole(this)" style="color: skyblue">'+roleJson[i]["roName"]+'</li>'
                    }else{
                        newTr = newTr + '<li id="'+roleJson[i]["roId"]+'" onclick="selectRole(this)">'+roleJson[i]["roName"]+'</li>'
                    }
                    $(".rolesUl").append(newTr);
                }
                //执行第一个角色点击事件
                document.getElementById(firstRoId).click();
            }else{
                disLoading();
            }
        },
        error:function () {
            disLoading();
        }
    })
});

/**
 * 选择角色切换用户
 */
function selectRole(roleLi){
    //添加加载提示
    loading();
    //去除文字颜色
    $("li").css("color","#000000");
    //给当前对象赋颜色
    roleLi.style.color="skyblue";
    //动态加载用户信息
    var roId = $(roleLi).attr("id");
    $.ajax({
        url: CONTEXT_PATH + "/role/getUsersByRoleId.do",
        data: {
            roId: roId
        },
        type: "get",
        success: function (data) {
            //移除所有用户集
            $(".userIdTab").find("tr").each(function() {
                if($(this).attr("class") == "user-args"){
                    $(this).remove();
                }
            });
            //添加用户集
            if(data && "[]" != data){
                var userJson = JSON.parse(data);
                var userLength = userJson.length;
                //计算tr要创建多少个
                var trLength = Math.ceil(userLength/3);
                //计算创建的td个数
                var tdRemainder = 0;
                if(trLength == 1){
                    trLength = 1;
                    tdRemainder = userLength;
                }else{
                    tdRemainder = (userLength%3).toFixed(1);
                }
                for(var i = 0; i < trLength; i++){
                    var newTr = '<tr class="user-args">';
                    //设置td创建个数
                    var tdNum = 3;
                    if(i == trLength-1){
                        tdNum = tdRemainder;
                    }
                    for(var j=0;j<tdNum;j++){
                        //计算从json中获取的下标值
                        var index = i*3 + j;
                        var newTd = '';
                        //默认选中第一个用户
                        if(index == 0){
                            newTd = '<td>' +
                                '<img src="'+userJson[index]["photoUrl"]+'" onerror="this.onerror=\'\';src=\''+CONTEXT_PATH+'/html/images/defaulPhoto/defaulPhoto.jpg\'"/>'+
                                '<div>'+
                                    '<input type="radio" name="userId" value="'+userJson[index]["userId"]+'" checked>'+ userJson[index]["loginName"]+
                                '</div>'+
                                '</td>';
                        }else{
                            newTd = newTd + '<td>' +
                                '<img src="'+userJson[index]["photoUrl"]+'" onerror="this.onerror=\'\';src=\''+CONTEXT_PATH+'/html/images/defaulPhoto/defaulPhoto.jpg\'"/>'+
                                '<div>'+
                                    '<input type="radio" name="userId" value="'+userJson[index]["userId"]+'">'+ userJson[index]["loginName"]+
                                '</div>'+
                                '</td>';
                        }
                        if(userLength == 1){
                            newTd = newTd + '<td></td><td></td>'
                        }
                        if(userLength == 2){
                            newTd = newTd + '<td></td>'
                        }
                        newTr = newTr + newTd;
                    }
                    newTr = newTr + '</tr>'
                    $(".userIdTab").append(newTr);
                }
            }
            disLoading();
        },
        error:function () {
            disLoading();
        }
    })
}


/**
 * 保存
 */
function saveUser(){
    //获取选中的用户id
    var radio = document.getElementsByName("userId");
    var selectvalue = null;
    for(var i = 0; i < radio.length; i++){
        if(radio[i].checked == true) {
            selectvalue = radio[i].value;
            break;
        }
    }
    if(null != selectvalue){
        var selectName = $("input[name='userId']:checked")[0].nextSibling.nodeValue;
        if("" == selectvalue){
            $.messager.show({title: '操作提示', msg: "请选择审批用户！", timeout: 3000, showType: "slide"});
            return;
        }
        //设置下一步办理人
        setNext(selectName);
        //取消(关闭窗口)
        userCancel();
        //表单提交
        fromSubmit();
    }else{
        $.messager.show({title: '操作提示', msg: "无审批用户！", timeout: 3000, showType: "slide"});
    }
}


/**
 * 表单提交
 */
function fromSubmit() {
    //提交表单数据
    parent.saveTaskForm();
}


/**
 * 取消
 */
function userCancel(){
    //关闭窗口
    parent.closeWindow();
}

/**
 * 设置下一步办理人
 * @param assignee
 */
function setNext(assignee) {
    //设置下一步办理人
    parent.setAssignee(assignee);
}